;
; RAINBOW.SH Version 1.01 (C)1995,1996 HUDSON SOFT
; HuC6271(RAINBOW)関連 アセンブラ用ヘッダーファイル(RAINBOW.SH)
;
	ifndef	_RAINBOW_SH_
_RAINBOW_SH_	equ	1
;
WRAP_OFF	equ	0
WRAP_ON		equ	1
FTS_OFF		equ	0
FTS_ON		equ	1
;
;--- Macros
;
	include	"c62dev.sh"
;
_put_ra_scroll	macro	value
		mov.b	value,at
		out.b	at,IO_RA_SCROLL(zero)
		endm
;
_put_ra_scrollh	macro	value
		mov.b	value,at
		out.b	at,IO_RA_SCROLLH(zero)
		endm
;
_put_ra_cr	macro	value
		mov.b	value,at
		out.b	at,IO_RA_CR(zero)
		endm
;
_put_ra_nrly	macro	value
		mov.b	value,at
		out.b	at,IO_RA_NRLY(zero)
		endm
;
_put_ra_nrlu	macro	value
		mov.b	value,at
		out.b	at,IO_RA_NRLU(zero)
		endm
;
_put_ra_nrlv	macro	value
		mov.b	value,at
		out.b	at,IO_RA_NRLV(zero)
		endm
;
_put_ra_hsync	macro	value
		mov.b	value,at
		out.b	at,IO_RA_HSYNC(zero)
		endm
;
_rascr		macro	value
		mov.h	value,at
		out.b	at,IO_RA_SCROLL(zero)
		shr	#8,at
		out.b	at,IO_RA_SCROLLH(zero)
		endm
;
_rascri		macro	value
		mov.h	value,at
		out.b	at,IO_RA_SCROLL(zero)
		shr	#8,at
		out.b	at,IO_RA_SCROLLH(zero)
		endm
;
_racr		macro	reg
		out.b	reg,IO_RA_CR(zero)
		endm
;
_racri		macro	value
		mov.b	value,at
		out.b	at,IO_RA_CR(zero)
		endm
;
_rany		macro	reg
		out.b	reg,IO_RA_NRLY(zero)
		endm
;
_ranu		macro	reg
		out.b	reg,IO_RA_NRLU(zero)
		endm
;
_ranv		macro	reg
		out.b	reg,IO_RA_NRLV(zero)
		endm
;
_ranyi		macro	value
		mov.b	value,at
		out.b	at,IO_RA_NRLY(zero)
		endm
;
_ranui		macro	value
		mov.b	value,at
		out.b	at,IO_RA_NRLU(zero)
		endm
;
_ranvi		macro	value
		mov.b	value,at
		out.b	at,IO_RA_NRLV(zero)
		endm
;
_rahs		macro	reg
		out.b	reg,IO_RA_HSYNC(zero)
		endm
;
_rahsi		macro	value
		mov.b	value,at
		out.b	at,IO_RA_HSYNC(zero)
		endm
;
;--- Structs
;
RAREG		struct
rascroll:	ds	2
racr:		ds	2
ranrly:		ds	2
ranrlu:		ds	2
ranrlv:		ds	2
rahsync:	ds	2
	align	4
		ends
;
RA_NRL		struct
nrly:		ds	2
nrlu:		ds	2
nrlv:		ds	2
	align	4
		ends
;
	globl	init_rainbow
	globl	reset_rainbow
	globl	set_ra_wrap,set_ra_fts
	globl	set_ra_scroll
	globl	set_ra_nrl
;
	endif	; !_RAINBOW_SH_
